<?php
/**
 * WpUuid.php
 * 
 * This file contains the WpUuid class to create unique identifiers
 * @author Robert Schmidt <robert@wildpack.de>
 * @version 1.0
 * @package wildpack
 * @subpackage base
*/

/**
 * A class to generate a UUID
 * 
 * This is a static class to create a global unique identifier (UUID).
 * which can be included in your project files easily.
 * 
 * How to use:
 * <code>
 * 
 * $myid = WpUuid::create();
 * 		
 * </code>
 * 
 * @author Robert Schmidt <robert@wildpack.de>
 * @version 1.0
 * @package wildpack
 * @subpackage base
 */
class WpUuid
{
	
	/**
	 * Creates a uuid
	 * @return string A uuid
	 */
	public static function create()
	{
		if (function_exists('com_create_guid') === true) {
			$strGuid = com_create_guid();
		} else {
			mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
			$charid = strtoupper(md5(uniqid(rand(), true)));
			$hyphen = chr(45);// "-"
			$strGuid = chr(123)// "{"
				.substr($charid, 0, 8).$hyphen
				.substr($charid, 8, 4).$hyphen
				.substr($charid,12, 4).$hyphen
				.substr($charid,16, 4).$hyphen
				.substr($charid,20,12)
				.chr(125);// "}"
		}

		return substr($strGuid, 1, -1);
	}
	
}

/* End of file WpUuid.php */
/* Location: ./wildpack/base/WpUuid.php */ 
